package com.jy.wms.dao;
import com.jy.wms.common.base.BaseDao;
import com.jy.wms.pojo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @ClassName: WmsShelvesMapper.java
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @Author yjs
 * @Date Tue Sep 26 18:23:44 CST 2017
 */
public interface WmsShelvesMapper extends BaseDao<WmsShelves> {
 /**
  * 分页查询
  * @param entity 实体
  * @return List<WmsShelves>
  */
 public List<WmsShelves> baseSelectPage(@Param("WmsShelves") WmsShelves entity);
 public List<WmsShelves> baseSelectPages(@Param("WmsShelves") WmsShelves entity, @Param("zjztd") String zjztd, @Param("zjzthg") String zjzthg, @Param("zjztbhg") String zjztbhg);

 /**
  * ASN编号模糊查询
  * @param asnbh
  * @return
  */
 public List<WmsShelves> searchAsnbh(@Param("asnbh") String asnbh, @Param("ckid") String ckid);
 /**
  * 库位模糊查询
  * @param show_kwid
  * @return
  */
 public List<WmsLibraryPosition> searchKw(@Param("show_kwid") String show_kwid, @Param("ckid") String ckid, @Param("hzid") String hzid);
 /**
  * 关联PO编号模糊查询
  * @param dycgdbh
  * @return
  */
 public List<WmsShelves> searchPObh(@Param("dycgdbh") String dycgdbh, @Param("ckid") String ckid, @Param("owner") String owner);
 /**
  * 供应商模糊查询
  * @param show_gysid
  * @return
  */
 public List<WmsShelves> searchGysid(@Param("show_gysid") String show_gysid, @Param("ckid") String ckid, @Param("owner") String owner);

 /**
  * 收货明细页面查询==>上架确认页面
  * 根据预期收货单ID,查询收货表信息
  * 人工指定库位上架(取asn行表,收货表数据)
  * @param id
  * @param ckid
  * @param hzid
  * @param zjzt
  * @param zjzt3
  * @return
  */
 public List<WmsShelves> baseSelectDetail(@Param("id") String id, @Param("ckid") String ckid, @Param("hzid") String hzid, @Param("zjzt") String zjzt, @Param("zjzt3") String zjzt3);
 /**
  * 收货明细页面查询==>上架确认页面
  * 根据预期收货单ID,查询收货表信息
  * 系统按库位组指定上架(取上架表数据)
  * @param id
  * @param ckid
  * @param hzid
  * @param zjzt
  * @param zjzt3
  * @return
  */
 public List<WmsShelves> baseSelectDetail2(@Param("id") String id, @Param("ckid") String ckid, @Param("hzid") String hzid, @Param("zjzt") String zjzt, @Param("zjzt3") String zjzt3);
 /**
  * 上架任务;人工指定库位上架(取asn行表,收货表数据)
  * @param id
  * @param ckid
  * @param hzid
  * @param zjzt
  * @param zjzt3
  * @return
  */
 public List<WmsShelves> baseSelectRw(@Param("id") String id, @Param("ckid") String ckid, @Param("hzid") String hzid, @Param("zjzt") String zjzt, @Param("zjzt3") String zjzt3);
 /**
  * 上架任务;系统按库位组指定上架(取上架表数据)
  * @param id
  * @param ckid
  * @param hzid
  * @param zjzt
  * @param zjzt3
  * @return
  */
 public List<WmsShelves> baseSelectRw2(@Param("id") String id, @Param("ckid") String ckid, @Param("hzid") String hzid, @Param("zjzt") String zjzt, @Param("zjzt3") String zjzt3);
 /**
  * 查询库存
  * @param kcid
  * @return
  */
 public WmsStock searchStock(@Param("kcid") String kcid);
 /**
  * 添加库存表信息
  * @param wmsStock
  * @return Integer
  */
 public Integer insertWms_stock(@Param("wmsStock") WmsStock wmsStock);

 /**
  * 库位更改状态已被占用
  *
  * @param kwid
  * @param zyzt
  * @return
  */
 public Integer updateStockZt(@Param("kwid") String kwid, @Param("zyzt") String zyzt);
 /**
  * 上架保存
  * @param wmsShelves
  * @return Integer
  */
 public Integer baseInsert(@Param("WmsShelves") WmsShelves wmsShelves);

 /**
  * 查询收货信息
  * @param id
  * @return
  */
 public WmsReceiving searchReceiving(@Param("id") String id);
 /**
  * 上架成功
  * 更改收货表的收货状态
  * @param ssshid
  * @param sjzt
  * @param sczt
  * @param czfs
  * @return
  */
 public Integer updateWms_receiving(@Param("ssshid") String ssshid, @Param("sjzt") String sjzt, @Param("sczt") String sczt, @Param("czfs") String czfs);

    /**
     * 更改预期到货通知单生成上架任务状态
     *
     * @param id
     * @param sjsczt
     * @return
     */
    public Integer updateSjRw(@Param("id") String id, @Param("sjsczt") String sjsczt);
 /**
  * 上架成功
  * 更改收货表的收货状态
  * @param kcid
  * @param sl
  * @return
  */
 public Integer updateWms_stock(@Param("kcid") String kcid, @Param("sl") String sl);

 /**
  * 判断库位是否可以货品混放
  * @param kwid
  * @return
  */
 public WmsLibraryPosition searchKwHphf(@Param("kwid") String kwid);

 /**
  * 查询库位对应的库存内的货品
  * @param kwid
  * @return
  */
 public List<WmsStock> searchHpKc(@Param("kwid") String kwid);

    /**
     * 更改预期到货通知单上架时间
     *
     * @param yqdhbdid
     * @return
     */
    public Integer updateSjsj(@Param("yqdhbdid") String yqdhbdid);
 /**
  * 查询预期到货单数据
  * @param id 预期到货单ID
  * @param zjzt 预期到货单表:质检状态(0初始 1质检单创建 2质检不合格 3质检合格)
  * @return
  */
 public WmsEstimatedArrivalOrder searchYqdh(@Param("id") String id, @Param("zjzt") String zjzt);

 /**
  * 查询货主质检方式
  * @param hzid
  * @return
  */
 public WmsOwner searchZjfs(@Param("hzid") String hzid);

 /**
  * 添加PDA上架表数据
  *
  * @param wmsShelvesTaskPda2
  * @return
  */
 public Integer insertShelvesPda(@Param("WmsShelvesTaskPda") WmsShelvesTaskPda wmsShelvesTaskPda2);

 /**
  * PDA消息表添加
  *
  * @param wmsPdaMsg
  * @return
  */
 public Integer saveMsg(@Param("WmsPdaMsg") WmsPdaMsg wmsPdaMsg);
 /**
  * 添加PDA上架明细
  *
  * @param wmsShelvesTaskPdaDetailed
  * @return
  */
 public Integer insertShelvesPdaDetailed(@Param("WmsShelvesTaskPdaDetailed") WmsShelvesTaskPdaDetailed wmsShelvesTaskPdaDetailed);
 /**
  * 货主订单类型表:是否质检(0否 1是)
  * @param id
  * @return
  */
 public String searchDdlx(@Param("id") String id, @Param("hzid") String hzid);

 /**
  * 生成任务查询操作人
  * @param czr
  * @param ckid
  * @param hzid
  * @return
  */
 public List<WmsShelves> searchRwCzr(@Param("czr") String czr, @Param("ckid") String ckid, @Param("hzid") String hzid);

 /**
  * 保存上架数据前,删除原有数据
  * @param yqdhbdid
  * @return
  */
 public Integer deleteSj(@Param("yqdhbdid") String yqdhbdid);

 /**
  * 查看任务详情页面查询
  * @param id
  * @param hzid
  * @param ckid
  * @param zjzt2
  * @param zjzt3
  * @return
  */
 public List<WmsShelves> selectRw(@Param("id") String id, @Param("hzid") String hzid, @Param("ckid") String ckid, @Param("zjzt2") String zjzt2, @Param("zjzt3") String zjzt3);

 /**
  * 回滚新生成的库存
  * @param wmsStock
  * @return
  */
 public Integer deleteKc(@Param("WmsStock") WmsStock wmsStock);

 /**
  * 回滚收货库存
  * @param wmsStock
  * @return
  */
 public Integer updateWms_stock2(@Param("WmsStock") WmsStock wmsStock);

 /**
  * 回滚上架信息
  * @param wmsShelves
  * @return
  */
 public Integer deleteSj2(@Param("WmsShelves") WmsShelves wmsShelves);

 /**
  * 根据预期到货通知单ID查询数据
  *
  * @param yqdhbdid
  * @return
  */
 public WmsEstimatedArrivalOrder searchYqdhbd(@Param("yqdhbdid") String yqdhbdid);

 /**
  * 查询ans单号在pda是否上架
  *
  * @param asnbh
  * @return
  */
 public WmsShelvesTaskPda searchPda(@Param("asnbh") String asnbh);

 /**
  * 删除PDA上架信息(回滚专用)
  *
  * @param id
  * @return
  */
 public Integer deleteWmsShelvesTaskPda(@Param("id") Integer id);

 /**
  * 删除PDA上架明细信息(回滚专用)
  *
  * @param ids
  * @return
  */
 public Integer deletePdaDetailed(@Param("ids") List<Integer> ids);

 /**
  * 查询库位是否绑定库位组
  *
  * @param kwzid
  * @param kwid
  * @return
  */
 public List<WmsLibrarypositiongroup> searchKwz(@Param("kwzid") String kwzid, @Param("kwid") String kwid);

 /**
  * 查询货品是否绑定该库位组
  *
  * @param wmsLibrarypositiongroupList
  * @param bh
  * @return
  */
 public List<WmsGoods> searchHp(@Param("list") List<WmsLibrarypositiongroup> wmsLibrarypositiongroupList, @Param("bh") String bh);

 /**
  * 查询生成上架任务的数据
  *
  * @param id
  * @param sjzt
  * @param zjzt2
  * @param zjzt3
  * @return
  */
 public List<WmsReceiving> searchReceiving2(@Param("id") String id, @Param("sjzt") String sjzt, @Param("zjzt2") String zjzt2, @Param("zjzt3") String zjzt3);

    /**
     * 查询生成上架任务的数据
     *
     * @param list
     * @return
     */
    public List<WmsReceiving> searchReceiving3(@Param("list") List<WmsShelves> list);

    /**
     * 用预期id查询全部收货信息
     *
     * @param yqid
     * @return
     */
    public List<WmsReceiving> searchReceiving4(@Param("yqid") String yqid);
}
